home *** CD-ROM | disk | FTP | other *** search
- package a;
-
- import a.a.AST;
- import a.a.a.ASTArray;
-
- public class ASTFactory {
- // $FF: renamed from: a java.lang.String
- protected String field_0;
- // $FF: renamed from: b java.lang.Class
- protected Class field_1;
-
- public void addASTChild(ASTPair var1, AST var2) {
- if (var2 != null) {
- if (var1.root == null) {
- var1.root = var2;
- } else if (var1.child == null) {
- var1.root.setFirstChild(var2);
- } else {
- var1.child.setNextSibling(var2);
- }
-
- var1.child = var2;
- var1.advanceChildToEnd();
- }
-
- }
-
- public AST create() {
- Object var1 = null;
- if (this.field_1 == null) {
- var1 = new CommonAST();
- } else {
- try {
- var1 = (AST)this.field_1.newInstance();
- } catch (Exception var2) {
- Tool.warning(method_0("^q|wC=s`5Viu2\u0011dI0\\?Sx0") + this.field_0);
- return null;
- }
- }
-
- return (AST)var1;
- }
-
- public AST create(int var1) {
- AST var2 = this.create();
- var2.initialize(var1, "");
- return var2;
- }
-
- public AST create(int var1, String var2) {
- AST var3 = this.create();
- var3.initialize(var1, var2);
- return var3;
- }
-
- public AST create(AST var1) {
- if (var1 == null) {
- return null;
- } else {
- AST var2 = this.create();
- var2.initialize(var1);
- return var2;
- }
- }
-
- public AST create(Token var1) {
- AST var2 = this.create();
- var2.initialize(var1);
- return var2;
- }
-
- public AST dup(AST var1) {
- return this.create(var1);
- }
-
- public AST dupList(AST var1) {
- AST var2 = this.dupTree(var1);
-
- for(AST var3 = var2; var1 != null; var3 = var3.getNextSibling()) {
- var1 = var1.getNextSibling();
- var3.setNextSibling(this.dupTree(var1));
- }
-
- return var2;
- }
-
- public AST dupTree(AST var1) {
- AST var2 = this.dup(var1);
- if (var1 != null) {
- var2.setFirstChild(this.dupList(var1.getFirstChild()));
- }
-
- return var2;
- }
-
- public AST make(AST[] var1) {
- if (var1 != null && var1.length != 0) {
- AST var2 = var1[0];
- AST var3 = null;
- if (var2 != null) {
- var2.setFirstChild((AST)null);
- }
-
- for(int var4 = 1; var4 < var1.length; ++var4) {
- if (var1[var4] != null) {
- if (var2 == null) {
- var2 = var3 = var1[var4];
- } else if (var3 == null) {
- var2.setFirstChild(var1[var4]);
- var3 = var2.getFirstChild();
- } else {
- var3.setNextSibling(var1[var4]);
- var3 = var3.getNextSibling();
- }
-
- while(var3.getNextSibling() != null) {
- var3 = var3.getNextSibling();
- }
- }
- }
-
- return var2;
- } else {
- return null;
- }
- }
-
- public AST make(ASTArray var1) {
- return this.make(var1.array);
- }
-
- public void makeASTRoot(ASTPair var1, AST var2) {
- if (var2 != null) {
- var2.addChild(var1.root);
- var1.child = var1.root;
- var1.advanceChildToEnd();
- var1.root = var2;
- }
-
- }
-
- public void setASTNodeType(String var1) {
- this.field_0 = var1;
-
- try {
- this.field_1 = Class.forName(var1);
- } catch (Exception var2) {
- Tool.warning(method_0("^q|wC=v{>S2qq3Rnc2\u0011dI0\\?Sx0f)Gx") + var1);
- }
- }
-
- // $FF: renamed from: a (java.lang.String) java.lang.String
- private static String method_0(String var0) {
- char[] var1 = var0.toCharArray();
- int var2 = var1.length;
-
- for(int var3 = 0; var3 < var2; ++var3) {
- char var10002 = var1[var3];
- byte var10003;
- switch (var3 % 5) {
- case 0:
- var10003 = 29;
- break;
- case 1:
- var10003 = 16;
- break;
- case 2:
- var10003 = 18;
- break;
- case 3:
- var10003 = 80;
- break;
- default:
- var10003 = 55;
- }
-
- var1[var3] = (char)(var10002 ^ var10003);
- }
-
- return new String(var1);
- }
- }
-